package echecs;

import echecs.Echiquier.Case;
import position.Position;
import position.PositionFabrique;
import position.PositionFabrique.PositionType;
import java.util.List;
import static echecs.Pieces.Piece.*;

public class CoupsLegaux {

    private boolean pTraitAuxBlancs = true;
    private List<Coups> pListeCoups;

    public CoupsLegaux() {
        Position position = PositionFabrique.creerPosition(PositionType.INITIALE);
        position.placerPieces();
        Algorithme algo = new Algorithme(trait(), position.getPieces());
        pListeCoups = algo.listeDesCoups();

        System.out.print(toString());
    }

    private Couleur trait() {
        return pTraitAuxBlancs == true ? Couleur.BLANC : Couleur.NOIR;
    }

    @Override
    public String toString() {
        super.toString();
        String ret = "";
        for (Coups coups : pListeCoups) {
            ret += coups.pPieceDepart.toString() + "(" + Case.valeur(coups.pIndexDepart) + ") :" +
                    Case.valeur(coups.pIndexArrivee) + '\n';

        }
        return ret;
    }
}
